Package-level declarations

Types

Link copied to clipboard
annotation class ArgParser(val argParser: KClass<out ArgumentParser> = DefaultArgParser::class)

The annotation used to set an argument parsing mechanism that handlers will pick.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class CommandHandler(val value: Array<String>, val rateLimits: RateLimits = RateLimits(0, 0), val scope: Array<UpdateType> = [UpdateType.MESSAGE], val guard: KClass<out Guard> = DefaultGuard::class, val argParser: KClass<out ArgumentParser> = DefaultArgParser::class)

The annotation used to mark the function used to process the specified commands.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class CommonHandler

The annotation used to mark the function used to process the specified commands.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class CtxProvider

Annotation to mark a class as a context provider. Class should be inheritor one of UserData or ClassData.

Link copied to clipboard
annotation class Guard(val guard: KClass<out Guard> = DefaultGuard::class)

The annotation used to set a guarding mechanism that handlers will pick.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class Injectable

Annotation to mark an object/class as an interface to get the object that can be passed to a function. And target object need to be implementation of Autowiring interface.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class InputChain(val autoClean: Boolean = false)

Label the class that implements the input chain, for TgUpdateHandler.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class InputHandler(val value: Array<String>, val rateLimits: RateLimits = RateLimits(0, 0), val guard: KClass<out Guard> = DefaultGuard::class)

The annotation used to denote the function used to process the specified I/O event.

Link copied to clipboard
annotation class ParamMapping(val name: String)

Because of the limitation of the telegram api in the length of callbacks, this annotation allows you to map parameters by a specific name.

Link copied to clipboard
annotation class RateLimits(val period: Long = 0, val rate: Long = 0)

Annotation to define query limits for specific actions.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class UnprocessedHandler

Annotation used to mark the function used to handle updates that not processed. Only one processing point is possible.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class UpdateHandler(val type: Array<UpdateType>)

An annotation used to indicate the function that is used to handle the specified type of incoming update.